package com.qidian.permission.mapper;

import com.qidian.permission.entity.Permission;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author 戴着假发的程序员
 * @Company 起点编程
 * @Time 2023/10/19 15:10
 * @Description
 */
public interface PermissionMapper {
    /**
     * 通过parentId查询子权限集合
     * @param parentId
     * @return
     */
    List<Permission> selectByParentId(Long parentId);

    /**
     *  通过用户编号查询这个用户所拥有的所有权限
     * @param userId
     * @return
     */
    List<Permission> queryByUserId(Long userId);

    /**
     * 根据用户编号删除这个用户独立拥有的权限
     * @param userId
     * @return
     */
    int deleteRelationByUserId(Long userId);

    /**
     * 批量设置用户和权限的关系
     * @param userId
     * @param permissionIds
     * @return
     */
    int insertUserPermissionRelation(@Param("userId") Long userId,@Param("permissionIds") Long [] permissionIds);
}
